package es.index.document.logs.apache;

import java.util.Date;

import es.index.document.Logs;

/**
 * apache 访问日志文件
 * 
 * @author zhoujin
 */
public class ApacheCustomLog extends Logs {

	/**
	 * 服务器的标准名字
	 */
	private String _serverName = "";

	/**
	 * 客户机的 IP 地址。
	 */
	private String _ip = "";

	/**
	 * 从identd服务器中获取远程登录名称，基本已废弃。
	 */
	private String _identd = "";

	/**
	 * 来自于认证的远程用户
	 */
	private String _authenticate = "";

	/**
	 * 连接的日期和时间。
	 */
	private Date _date = null;

	/**
	 * 时差
	 */
	private String _jetLag = "";

	// /**
	// * HTTP请求的首行信息，典型格式是“METHOD RESOURCE PROTOCOL”，即“方法 资源 协议”。经常可能出现的 METHOD
	// 是
	// * GET、POST 和 HEAD；RESOURCE 是指浏览者向服务器请求的文档或 URL；PROTOCOL
	// * 通常是HTTP，后面再加上版本号，通常是 HTTP/1.1。
	// */
	// private String _mrp = "";

	/**
	 * 经常可能出现的 METHOD 是 GET、POST 和 HEAD
	 */
	private String _method = "";

	/**
	 * RESOURCE 是指浏览者向服务器请求的文档或 URL
	 */
	private String _resource = "";

	/**
	 * PROTOCOL 通常是HTTP，后面再加上版本号，通常是 HTTP/1.1
	 */
	private String _protocol = "";

	/**
	 * 响应请求的状态代码，一般这项的值是 200，表示服务器已经成功地响应浏览器的请求，一切正常；以 3
	 * 开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置；以 4 开头的状态代码表示客户端存在某种错误；以 5
	 * 开头的状态代码表示服务器遇到了某个错误。
	 */
	private String _response = "";

	/**
	 * 传送的字节数（不包含HTTP头信息），将日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。
	 */
	private int _sendByte = 0;

	/**
	 * 指明了该请求是从被哪个网页提交过来的。
	 */
	private String _referer = "";

	/**
	 * 此项是客户浏览器提供的浏览器识别信息。
	 */
	private String _user_Agent = "";

	public String get_serverName() {
		return _serverName;
	}

	public void set_serverName(String _serverName) {
		this._serverName = _serverName;
	}

	public String get_ip() {
		return _ip;
	}

	public void set_ip(String _ip) {
		this._ip = _ip;
	}

	public String get_identd() {
		return _identd;
	}

	public void set_identd(String _identd) {
		this._identd = _identd;
	}

	public String get_authenticate() {
		return _authenticate;
	}

	public void set_authenticate(String _authenticate) {
		this._authenticate = _authenticate;
	}

	public Date get_date() {
		return _date;
	}

	public void set_date(Date _date) {
		this._date = _date;
	}

	public String get_jetLag() {
		return _jetLag;
	}

	public void set_jetLag(String _jetLag) {
		this._jetLag = _jetLag;
	}

	public String get_method() {
		return _method;
	}

	public void set_method(String _method) {
		this._method = _method;
	}

	public String get_resource() {
		return _resource;
	}

	public void set_resource(String _resource) {
		this._resource = _resource;
	}

	public String get_protocol() {
		return _protocol;
	}

	public void set_protocol(String _protocol) {
		this._protocol = _protocol;
	}

	public String get_response() {
		return _response;
	}

	public void set_response(String _response) {
		this._response = _response;
	}

	public int get_sendByte() {
		return _sendByte;
	}

	public void set_sendByte(int _sendByte) {
		this._sendByte = _sendByte;
	}

	public String get_referer() {
		return _referer;
	}

	public void set_referer(String _referer) {
		this._referer = _referer;
	}

	public String get_user_Agent() {
		return _user_Agent;
	}

	public void set_user_Agent(String _user_Agent) {
		this._user_Agent = _user_Agent;
	}

	public ApacheCustomLog() {
	}

	public ApacheCustomLog(String id, String fileName) {
		super(id, fileName);
	}

	public ApacheCustomLog(String id, String fileName, String serverName,
			String ip, String identd, String authenticate, Date date,
			String jetLag, String method, String resource, String protocol,
			String response, int sendByte, String referer, String user_Agent) {
		super(id, fileName);

		_serverName = serverName;
		_ip = ip;
		_identd = identd;
		_authenticate = authenticate;
		_date = date;
		_jetLag = jetLag;
		_method = method;
		_resource = resource;
		_protocol = protocol;
		// _mrp = mrp;
		_response = response;
		_sendByte = sendByte;
		_referer = referer;
		_user_Agent = user_Agent;
	}
}
